<!-- 我的基础 -->

<template>
  <div>
    <component v-for="item in one.attributes" :key="item.id" :is="getName(item)" v-bind="getProps(item)" />
  </div>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'MyBase',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixWeb()],

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 获取名称
     */
    getName(item) {
      switch (item.attributeType) {
        case 2: return 'ShowImage'
        case 3: return 'ShowDate'
        default: return 'ShowTextMulti'
      }
    },

    /**
     * 获取属性
     */
    getProps(item) {
      return {
        one: item,
        label: item.attributeName,
        bind: 'attributeValue',
        wordFit: true,
        join: item.attributeType === 2,
      }
    },
  },
}
</script>
